"""
"The contents of this file are subject to the Mozilla Public License
Version 1.1 (the "License"); you may not use this file except in
compliance with the License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.

The Original Code is rpg-textengine (http://code.google.com/p/rpg-textengine/).

The Initial Developer of the Original Code is Devin Jeanpierre (jeanpierreda@gmail.com).

Contributor(s): 
(none)
."
"""
#This is the weapon library
#All you have to do is import weapons, and whenever you need a peice of equipment
#Simply call for weapons.axe, for an axe, or whatever.
#NOTE: This is changing, and there may be compatability errors in the process of moving to OO.
#The way that it should be done is to call Classes.weapon(weapons.axe)
#Due to the vast differences, there can be no mgradual change, it's all one jump
#In other words, watch out until the code is debugged.


#MELEE
Fists = "Fists",(1,0)
AJDA = "Ancient Jake Double Axe" , (7,0)
Dagger = "Dagger",(3,0)
Sword = "Sword",(6,0)
AJDAJE = "Ancient Jake Double Axe Jake Edition" , (20,0)

#RANGED
Flame = "Flame", (4,1)
M16 = "M16" , (10,1)
AJL = "Ancient Jake Laser" , (45,1)
AJGR = "Ancient Jake Gaurdian Rifle" , (8,1)

#Collections
#MELEE #Not updated
melee = [Fists, AJDA, Dagger, Sword, AJDAJE]
#RANGED #Not updated
ranged = [Flame, M16, AJL, AJGR]

#Ancient Jake Story #Not updated (joke by the way, you don't have to get it)
AncientJake = [AJDA, AJDAJE, AJL, AJGR]

#ALL OF THEM!
def all(*excluded):
    """This is a currently useless function, and shouldn't be used.
    It is not updated at all, but will be when it is needed (For the Random module)
    
    The excluded arguments MUST be a list of excluded items.
    However, the ablity to turn any number of excluded values and lists into one list for processing
    is on the TODO list."""
    import weapons
    #TODO: Add the ability of all() to accept numbers of lists AND single values, and turn them into a single list of values for processing!!
    all = []
    for weapon in weapons.ranged:
        all.append(weapon)
    for weapon in weapons.melee:
        all.append(weapon)
    for weapon in excluded[0]:
        try: del all[all.index(weapon)]
        except ValueError: pass
        except TypeError: break
    return all #Which is actually just all with a few(or many) excluded 